-
-
Notifications
You must be signed in to change notification settings - Fork 13
major: Add support for tag-directory-separator
and use-version-prefix
inputs, with workflow, config, and mock/test improvements
#227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2d7550c
to
a43d686
Compare
f52c0a6
to
eb44238
Compare
832fdd3
to
9ab9723
Compare
- Add ACTION_INPUTS mapping for all GitHub Action inputs - Add createConfigFromInputs() function for dynamic config creation - Implement proper array parsing that distinguishes required vs optional - Required array inputs throw error on empty string - Optional array inputs return empty array on empty string - Add comprehensive type definitions for action metadata
- Replace manual input processing with createConfigFromInputs() - Add comprehensive validation for tag directory separator - Add validation for default first tag format - Simplify config initialization using metadata-driven approach - Update config mock to use real action metadata system - Improve error messages with more specific validation details
- Refactor input helpers to use centralized ACTION_INPUTS metadata - Add getActionDefaults() to load defaults from action.yml - Generate input type arrays dynamically from metadata - Add getConfigKey() helper for type-safe config access - Simplify setupTestInputs() to use action.yml defaults - Remove hardcoded input arrays in favor of metadata-driven approach
- Add tests for tag directory separator validation (length and character) - Add tests for default first tag format validation - Add tests for required vs optional array input handling - Add tests for array parsing edge cases and deduplication - Improve test organization with metadata-driven approach - Achieve 100% test coverage for config.ts validation logic
- Set up required GitHub environment variables in context tests - Fix test isolation by properly clearing context between tests - Ensure environment variables are set before context initialization - Resolve test failures caused by missing GitHub Action environment
- Removed deprecated action-metadata types and utility functions. - Introduced new metadata structure for action inputs in `metadata.ts`. - Updated configuration handling to support dynamic input mapping. - Enhanced tag processing to accommodate various directory separators. - Added tests for metadata input handling and error scenarios. - Improved regex patterns for module tag validation. - Updated action.yml to include new input parameters for tag directory separator and version prefix usage. - Refactored TerraformModule class to utilize new configuration settings for versioning.
… and examples for directory separator and version prefix options
7b01d87
to
b60d18e
Compare
…e template handling
13aba7b
to
18a8745
Compare
873f4ba
to
30e90a3
Compare
refactor: remove redundant release content structure validation from tests chore: update biome configuration to include all scripts chore: add new changelog script and remove deprecated action.yml test: add parse-modules-test script for local testing of parseTerraformModules function feat: implement changelog generation with GitHub API integration delete: remove unused development script for parsing modules
30e90a3
to
cc5eec2
Compare
4aa960c
to
f94d31c
Compare
📋 Release Plan
📝 Changelog
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request introduces comprehensive support for configurable tag directory separators and version prefixes in Terraform module releases, alongside significant refactoring of configuration management and testing infrastructure.
- Adds
tag-directory-separator
anduse-version-prefix
inputs for flexible tagging schemes - Refactors configuration management with centralized metadata-driven approach
- Consolidates template rendering functionality and improves string utilities
Reviewed Changes
Copilot reviewed 43 out of 44 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/wiki.ts | Updates module source URL formatting and switches to new template rendering function |
src/utils/string.ts | Removes trimSlashes function and adds renderTemplate and removeLeadingCharacters utilities |
src/utils/metadata.ts | New centralized configuration metadata system for action inputs |
src/utils/constants.ts | Adds tag directory separator validation and improved regex patterns |
src/types/metadata.types.ts | New type definitions for action input metadata |
src/types/index.ts | Exports new metadata types |
src/types/context.types.ts | Updates import paths to use absolute imports |
src/types/config.types.ts | Adds new configuration options with detailed documentation |
src/terraform-module.ts | Major refactoring for flexible tag directory separators and version prefixes |
src/templating.ts | Removed - functionality moved to utils/string.ts |
src/context.ts | Updates unused parameter naming for consistency |
src/config.ts | Refactors to use metadata-driven configuration system |
Various test files | Updates tests to support new configuration system and improve coverage |
action.yml | Adds new input parameters and reorders for better organization |
README.md | Documents new configuration options and improves examples |
CI/Workflow files | Updates versions and configurations |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
This pull request introduces a set of improvements and updates across CI workflows, documentation, and development tooling. The main changes include enhanced configuration options for the Terraform module releaser, updates to workflow actions and dependencies, and refinements to documentation for clarity and completeness.
Documentation and Configuration Improvements
wiki-usage-template
,tag-directory-separator
, anduse-version-prefix
, and clarified descriptions for existing parameters inREADME.md
. Also improved documentation of output variables for modules. [1] [2] [3]README.md
for better guidance and accuracy. [1] [2] [3] [4]CI Workflow Updates
terraform-docs-version
to v0.20.0 and expandedmodule-path-ignore
patterns in.github/workflows/ci.yml
. Added support fortag-directory-separator
anduse-version-prefix
options..github/workflows/lint.yml
..github/workflows/test.yml
. Also standardized the test job name and permissions. [1] [2]create-pull-request
action to a specific commit in.github/workflows/release-start.yml
. [1] [2]Development Environment and Tooling
.devcontainer/devcontainer.json
for improved compatibility. [1] [2]Test Mock Refinements
__mocks__/@actions/core.ts
to use unused parameter names for clarity and consistency in testing. [1] [2] [3] [4]